{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Tensorflow的常见激活函数绘图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. 绘制liner/relu/selu/elu"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>linear</th>\n",
       "      <th>relu</th>\n",
       "      <th>selu</th>\n",
       "      <th>elu</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>x</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>-1.000000</th>\n",
       "      <td>-1.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-1.111331</td>\n",
       "      <td>-0.632121</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-0.931034</th>\n",
       "      <td>-0.931034</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-1.065152</td>\n",
       "      <td>-0.605854</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-0.862069</th>\n",
       "      <td>-0.862069</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-1.015676</td>\n",
       "      <td>-0.577713</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-0.793103</th>\n",
       "      <td>-0.793103</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-0.962668</td>\n",
       "      <td>-0.547562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-0.724138</th>\n",
       "      <td>-0.724138</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-0.905874</td>\n",
       "      <td>-0.515258</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             linear  relu      selu       elu\n",
       "x                                            \n",
       "-1.000000 -1.000000   0.0 -1.111331 -0.632121\n",
       "-0.931034 -0.931034   0.0 -1.065152 -0.605854\n",
       "-0.862069 -0.862069   0.0 -1.015676 -0.577713\n",
       "-0.793103 -0.793103   0.0 -0.962668 -0.547562\n",
       "-0.724138 -0.724138   0.0 -0.905874 -0.515258"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = np.linspace(-1, 1, 30)\n",
    "df = pd.DataFrame(\n",
    "    {\n",
    "        \"x\": x,\n",
    "        \"linear\": tf.keras.activations.linear(x),\n",
    "        \"relu\": tf.keras.activations.relu(x),\n",
    "        \"selu\": tf.keras.activations.selu(x),\n",
    "        \"elu\": tf.keras.activations.elu(x)\n",
    "    }\n",
    ")\n",
    "df.set_index(\"x\", inplace=True)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f581075f190>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.plot(figsize=(10, 6), grid=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. 绘制sigmoid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sigmoid</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>x</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>-10.000000</th>\n",
       "      <td>0.000045</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-9.797980</th>\n",
       "      <td>0.000056</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-9.595960</th>\n",
       "      <td>0.000068</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-9.393939</th>\n",
       "      <td>0.000083</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-9.191919</th>\n",
       "      <td>0.000102</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             sigmoid\n",
       "x                   \n",
       "-10.000000  0.000045\n",
       "-9.797980   0.000056\n",
       "-9.595960   0.000068\n",
       "-9.393939   0.000083\n",
       "-9.191919   0.000102"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = np.linspace(-10, 10, 100)\n",
    "df = pd.DataFrame(\n",
    "    {\n",
    "        \"x\": x,\n",
    "        \"sigmoid\": tf.keras.activations.sigmoid(x),\n",
    "    }\n",
    ")\n",
    "df.set_index(\"x\", inplace=True)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f5810872990>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.plot(figsize=(10, 4), grid=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. 绘制tanh"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>tanh</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>x</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>-10.000000</th>\n",
       "      <td>-1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-9.797980</th>\n",
       "      <td>-1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-9.595960</th>\n",
       "      <td>-1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-9.393939</th>\n",
       "      <td>-1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>-9.191919</th>\n",
       "      <td>-1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            tanh\n",
       "x               \n",
       "-10.000000  -1.0\n",
       "-9.797980   -1.0\n",
       "-9.595960   -1.0\n",
       "-9.393939   -1.0\n",
       "-9.191919   -1.0"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = np.linspace(-10, 10, 100)\n",
    "df = pd.DataFrame(\n",
    "    {\n",
    "        \"x\": x,\n",
    "        \"tanh\": tf.keras.activations.tanh(x),\n",
    "    }\n",
    ")\n",
    "df.set_index(\"x\", inplace=True)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f58084ec710>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.plot(figsize=(10, 4), grid=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
